# TODO 什么是实例属性和类属性?类属性的特点?类属性的访问方式?
# 实例属性就是对象
# 类属性的特点, 可以通过类访问,也可以通过对象访问. 类属性既属于类, 也属于类的所有实例
# 类.属性  对象.属性


# TODO 什么是类方法和静态方法?写一段代码进行阐明
# @classmethod        # 类方法装饰符
# def fn1(cls):
#      pass
#
# @staticmethod       # 静态方法装饰符
# def fn1():
#      pass


# TODO 手写一个简单的单例模式
# 类只能创建一个对象
# __new__
"""
class Singleton:
    # 私有类属性
    __instance = None

    def __new__(cls, *args, **kwargs):
        # if cls.__instance is None:
        if not cls.__instance:
            cls.__instance = super().__new__(cls, *args, **kwargs)
        return cls.__instance
"""